﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DeepZoomPivotConstructor.VisualLib.Hotspots
{
    /// <summary>
    /// Base class for a hot spot action. Each action is assoicated with an
    /// area (VisualHotSpot) and when the user clicks on that area or hits a key
    /// while that area is the primary one, one can respond with various actions (depending).
    /// </summary>
    public abstract class HotSpotActionBase
    {
        public HotSpotActionBase()
        {

            ///
            /// Reset all the activations to false
            /// 

            LeftClickToActivate = false;
            KeysToActivate = 0;

        }

        /// <summary>
        /// True if a left click will activate this guy
        /// </summary>
        public bool LeftClickToActivate { get; set; }

        /// <summary>
        /// What keys can activate this hot spot
        /// </summary>
        public enum ActivationKeys
        {
            NoKeys = 0,
            KeyLeftArrow = 2,
            KeyRightArrow = 4,
            KeyUpArrow = 8,
            KeyDownArrow = 16
        }

        public ActivationKeys KeysToActivate { get; set; }

        /// <summary>
        /// Returns the link type to be stored in the hot spot meta data
        /// </summary>
        public abstract string LinkType { get; }

        /// <summary>
        /// Returns the link data to be stored in the hot spot meta data
        /// </summary>
        public abstract string LinkData { get; }
    }
}
